Automatic reading tutoring has been a growing application for natural language processing and automatic speech recognition tools. An automatic reading tutoring system can provide a story or other text for a student to read out loud, and track the student's reading and any errors the student makes. It can diagnose particular kinds of systematic errors the student makes, respond to errors by providing assistance to the student, and evaluate d student's reading aptitude.
Automatic reading tutoring systems typically involve building a language model for a given story or other text prior to presenting the text to the student to begin a reading tutoring episode. Building the language model for the story or other text typically involves preparing to accommodate all possible words in the text being used, as well as all possible mistaken words the student might utter, to the best that these can be foreseen. This is particularly difficult for reading tutoring systems since one of their main audiences is children learning to read their native language, and children tend not only to make many unpredictable mistakes in reading, but also to get distracted and make frequent utterances that have nothing to do with the displayed text.
Building the language model for the text also typically involves accessing a large corpus and requires a significant amount of time to prepare. It also presents a large processing burden during runtime, which tends to translate into processing delays between when the student reads a line and when the computer is able to respond. Such delays tend to strain the student's patience and interrupt the student's attention. Additionally, the reading tutoring system cannot flag all possible reading errors, and may erroneously indicate the student has made an error when the student reads a portion of text correctly. Trying to improve the system's ability to catch errors and not indicate false alarms typically involves raising the time spent processing and further stretching out the delays in the system's responsiveness, while trying to reduce the system's lag time in responding conversely tends to degrade performance in error detection and false alarms.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.